今天要把Loading加入TableView載入之前
昨天說了動畫的部分會用Lottie來做,出現階段會是在ViewDidLoad()
那麼今天就來實作!
今天實作的路上遇到一點困難,雖然解決了但是還是莫名
前天說了新增一個Lottie,拖一個@IBOulet作為顯示
但是我今天試了很多次,就是會出現Bug,都會找不到我的@IBOulet
所以我只好使用純Programming的方式製作
這是建構出animationView
原本是使用@IBOutlet
// LoadingViewController內
override func viewDidLoad(){
let animation = AnimationView(name:"73734-logo-anmation")
animation.frame = CGRect(x:0,:y:0,width:300,height:200)
animation.center = view.center
animation.loopMode = .loop
animation.animationspeed = 1
self.view.addSubview(animation)
animation.play()
view.background = UIColor.init(white:5, alpha:0.6)
}
在要顯示的VC中的ViewDidLoad()階段
override func viewDidLoad(){
super.viewDidLoad()
// 使用LoadingAnimation function作為顯示
LoadingAnimation()
}
func LoadingAnimation(){
let Loading = LoadingViewController()
Loading.modalPresentationStyle = .overCurrentContext
Loading.modalTransitionStyle = .crossDissove
// 使用Present方式呈現
// 使用tabBarController是因為這個Present stack的viewController會是tabBarController
self.tabBarController?.present(Loading,animation: true,completion:nil)
}
成果展示: